From: Georges Basile Stavracas Neto Date: Tue, 26 May 2020 04:41:17 +0000 (-0300) Subject: appDisplay: Save pages after dropping X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~116 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e3f3297cbae5a888805333e2498cc7cb24afa669;p=gnome-shell.git appDisplay: Save pages after dropping Save the icon grid layout after dropping, and only in that moment. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284 --- diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index fee6967ce..01df5afe6 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -730,6 +730,25 @@ class AppDisplay extends BaseAppView { super._redisplay(); } + _savePages() { + const pages = []; + + for (let i = 0; i < this._grid.nPages; i++) { + const pageItems = + this._grid.getItemsAtPage(i).filter(c => c.visible); + const pageData = {}; + + pageItems.forEach((item, index) => { + pageData[item.id] = { + position: GLib.Variant.new_int32(index), + }; + }); + pages.push(pageData); + } + + this._pageManager.pages = pages; + } + _itemNameChanged(item) { // If an item's name changed, we can pluck it out of where it's // supposed to be and reinsert it where it's sorted. @@ -1070,6 +1089,8 @@ class AppDisplay extends BaseAppView { this._removeDelayedMove(); } + this._savePages(); + let view = _getViewFromIcon(source); if (view instanceof FolderView) view.removeApp(source.app);